package info.motteke.qjdbc.operation.update;

import static info.motteke.qjdbc.dto.DtoMetaInnerAPI.getDatabase;
import info.motteke.qjdbc.db.Database;
import info.motteke.qjdbc.dto.DtoMeta;
import info.motteke.qjdbc.exec.BatchStatement;
import java.util.List;

public class Update<E> {

    private final DtoMeta<E> meta;

    public Update(DtoMeta<E> meta) {
        this.meta = meta;
    }

    public int[] execute(List<E> list) {
        Database db = getDatabase(meta);
        BatchStatement<E> stmt = db.getStrategy().createUpdateSQL(meta);

        return stmt.execute();
    }

}
